1
Mecanismos da Chamada de Método
AI035Lesson 13
00:00

Em Ruby, uma chamada de método não é um salto estático para um endereço de memória; é um evento dinâmico de Envio de Mensagem. Quando você invoca um método, está enviando uma mensagem para um Destinatário. Essa mensagem consiste no nome do método, argumentos opcionais e uma possível Associação de Bloco.

1. Sintaxe de Chamada e Ambiguidade

Ruby permite grande flexibilidade: Foo.Bar e Foo.Bar() são idênticos. No entanto, Foo::Bar geralmente se refere a uma constante, enquanto Foo::Bar() força uma chamada de método. Parênteses são frequentemente omitidos para criar experiências semelhantes a DSLs, onde métodos parecem propriedades.

2. Desconstrução de Operadores

Operadores são na verdade Métodos Redefiníveis. A expressão expr1 + expr2 é açúcar sintático para (expr1).+(expr2). Isso se aplica a operadores unários (-obj), binários (a < b), e operadores pósfixos.

DestinatárioMensagem (Método)Bloco Auxiliarentrega o controle

3. Mecanismo yield

Métodos usam yield para empurrar o fluxo de controle para o bloco associado. Usando Kernel.block_given?, um método pode decidir dinamicamente como lidar com a lógica com base no contexto do chamador.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>